From 0f817779d7b03a23726783806ca17c3200b07bc0 Mon Sep 17 00:00:00 2001 From: "cl349@freefall.cl.cam.ac.uk" Date: Fri, 23 Jul 2004 11:01:03 +0000 Subject: [PATCH] bitkeeper revision 1.1124 (4100efefRxRv6n2bh1w2AXPtoVjT3A) Add some pediction. --- xen/arch/x86/memory.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/memory.c b/xen/arch/x86/memory.c index b0282c19ac..99fe44bd4e 100644 --- a/xen/arch/x86/memory.c +++ b/xen/arch/x86/memory.c @@ -1288,8 +1288,9 @@ void ptwr_reconnect_disconnected(unsigned long addr) _PAGE_PRESENT); pl1e = map_domain_mem(l2_pgentry_to_pagenr(nl2e) << PAGE_SHIFT); for ( i = 0; i < ENTRIES_PER_L1_PAGETABLE; i++ ) { - if ((l1_pgentry_val(pl1e[i]) ^ - l1_pgentry_val(ptwr_disconnected_page[cpu][i])) == _PAGE_RW) { + if (likely((l1_pgentry_val(pl1e[i]) ^ + l1_pgentry_val(ptwr_disconnected_page[cpu][i])) == + _PAGE_RW)) { #if 0 struct pfn_info *page = &frame_table[l1_pgentry_to_pagenr(pl1e[i])]; printk("%03x: %08lx != %08lx %08x/%08x\n", i, @@ -1297,7 +1298,7 @@ void ptwr_reconnect_disconnected(unsigned long addr) l1_pgentry_val(pl1e[i]), page->type_and_flags, page->count_and_flags); #endif - if (readonly_page_from_l1e(pl1e[i])) + if (likely(readonly_page_from_l1e(pl1e[i]))) continue; } if (l1_pgentry_val(pl1e[i]) != l1_pgentry_val(ptwr_disconnected_page[cpu][i])) { @@ -1306,7 +1307,8 @@ void ptwr_reconnect_disconnected(unsigned long addr) l1_pgentry_val(ptwr_disconnected_page[cpu][i]), l1_pgentry_val(pl1e[i])); #endif - if (l1_pgentry_val(ptwr_disconnected_page[cpu][i]) & _PAGE_PRESENT) + if (unlikely(l1_pgentry_val(ptwr_disconnected_page[cpu][i]) & + _PAGE_PRESENT)) put_page_from_l1e(ptwr_disconnected_page[cpu][i]); if (unlikely(!get_page_from_l1e(pl1e[i]))) BUG(); @@ -1386,7 +1388,8 @@ void ptwr_flush_inactive(void) l1_pgentry_val(ptwr_writable_page[cpu][idx][i]), l1_pgentry_val(pl1e[i])); #endif - if (l1_pgentry_val(ptwr_writable_page[cpu][idx][i]) & _PAGE_PRESENT) + if (unlikely(l1_pgentry_val(ptwr_writable_page[cpu][idx][i]) & + _PAGE_PRESENT)) put_page_from_l1e(ptwr_writable_page[cpu][idx][i]); if (unlikely(!get_page_from_l1e(pl1e[i]))) BUG(); -- 2.30.2